1. Field of the Invention
The present invention relates to providing end-to-end quality of service (QoS) in computer networks, and in particular to policy enforcement points for maintaining end-user satisfaction with voice, video, and data applications at the edges of packet-switched networks.
2. Description of the Prior Art
The challenging applications that telecommunications networks must support now include fixed and mobile voice, broadcast and on-demand video, and data. Each type of application places different demands on the network's resources. Some applications are more sensitive to loss, delay, or jitter, than are the others. But always, the principal quality of service objective is to satisfy the end-user's expectations.
An ideal goal in designing and engineering packet-switched networks is to be able to continue to satisfy the traffic demands of voice, video and data applications in spite of worst-case, single failures under peak load conditions. A network so robust as this has a very high probability of being able to continue to provide all the various applications with all the resources they need to deliver a flawless user experience.
However, such ideal design cannot always be accommodated due to the costs involved and shortages of resources. Growth in demand can develop more quickly than the provisioning can keep up with. Mistakes can be made. Multiple critical network failures can happen at the same time, and cause the network to congest such that information is lost in transmission and the end-user experience is degraded.
Some applications, such as email, can naturally deal with congestion. Congestion with email traffic rarely causes a change in user experience, and its effects are often acceptable. However, voice, video, and other applications are more real-time, and much more sensitive to network delays and congestion. The end-user experience can degrade quickly and affect all users simultaneously.
Packet-switched networks can be designed to prioritize traffic when congestion is threatened. Each application marks its data with a particular traffic class, and each marking is read later to place the traffic in a priority order. When the network starts to congest, the routers forwarding onto congested links can change modes to begin sending only the traffic marked with the highest class first. Then the second highest class traffic is forwarded, and so on, up until the link congests, and the router starts to drop traffic.
In most cases of congestion, such a priority traffic mechanism is enough to ensure that high priority applications get the resources they need. But too much traffic within a class can congest a network anyway.
If losses occur in a data traffic-class, data applications can usually cope with it and gracefully recover. There will be little or no degradation in user experience. But if the losses occur in a voice or video traffic class, voice and video applications are usually not equipped to cope with it. So their service will be degraded across all the users when an application-dependent threshold of degradation is reached. After which, the application effectively becomes unusable. So something more than simple traffic-class prioritization is needed.
Session/Call Admission Control (S/CAC) is a good answer. S/CAC limits the sessions/calls that are admitted into the network to only those that the network can support at a particular quality level. S/CAC will deny some later users any service, in order to prevent everyone else's existing service from degrading. S/CAC guards against multiple failures, or a lack of available resources, to service anticipated peak load under single failure. It prevents losses due to resource congestion from growing from small to large. But S/CAC is not easy to implement in an packet-switched network because the routing topology is ever-changing and a way to enforce bandwidth reservations is needed.
Voice and data have traditionally been supported by two independent networks. Voice transport over IP (VoIP) allows service providers to merge voice and data networks into a single infrastructure. The success of VoIP depends on being able to offer to the end user similar quality of experience. Speech communication quality is subjective, it depends on the users' expectations, the subjective perception of the call, overall quality, volume, intelligibility, speaker identification and naturalness, and physical factors such as loss, echo, delay and noise.
Video on demand (VOD) is almost as demanding as voice in many ways. The bandwidth required can be much greater, especially for high definition (HD) video.
VoIP and Video QoS is affected by delay and jitter (variation in delay). The packet network, terminals, and gateways can all delay the communication. If these delays are inconsistent they can add to jitter. The cumulative effects of these delays limits the achievable quality, delays longer than 400-ms break conversation interactivity.
Network delay in packet networks is due to transmission delay introduced in every link along the path to the destination and queuing delay in every router. Transmission delay depends on sub network technology, while queuing delay depends on queuing policies at the routers. Terminal delay depend on terminal type and processing power. Software-based terminals show higher delay than hardware-based ones. Special equipment such as low rate codec's is necessary to reduce network load, but this will also degrade speech quality by increasing quantizing noise, distortion and delay. The noise sources come from the power sum of electric circuit noise, and room noise. Noise sources at each end of the communication can be easily controlled by proper tuning of the loudness ratings and listener sidetone. The network affects network delay, jitter, and packet loss. But since delay and packet loss in the network are correlated, it can be said that a network with a limited delay will also have negligible packet loss.
IP networks offer an unreliable, connectionless network-layer service that is subject to packet loss, reordering and duplication, all of which, together with queuing delay in router buffers, will increase with network load.
Because of the lack of any firm delivery guarantees, traditional IP delivery is “best-effort”. TCP and other higher layer end-to-end protocols are required to add-in end-to-end reliability. Network service degrades as the traffic in the network increases, causing problems for telephony and other real-time applications.
QoS protocols are used where traffic with real-time requirements is distinguished from other traffic classes that can tolerate delay, jitter and loss. Two strategies for QoS provisioning are resource reservation and prioritization. Resource reservation apportions network resources according to an application's QoS request, subject to a bandwidth management policy. In prioritization, network traffic is classified and apportioned amongst network resources according to bandwidth management policy criteria. Network routers give preferential treatment to classifications identified as having more demanding requirements, e.g., individual application flows or flow aggregates.
Flows are individual, uni-directional data streams between applications, e.g., as uniquely identified by transport protocol, source address and port number, and destination address and port number. Two or more flows with something in common are aggregates. Applications, network topology and policy dictate which type of QoS is most appropriate in a given situation.
MPLS provides for bandwidth management for aggregates via network routing control according to labels in (encapsulating) packet headers. MPLS builds paths across an IP network core, and sends packets along predefined paths. When a packet enters the network, an edge router looks up the destination address of the packet and tags it with a label that specifies the route and class of service (CoS) attributes.
One reason multiprotocol label switching (MPLS) was developed was to allow routers to have smaller forwarding tables and, in theory, operate at higher speeds because they would act like simple switches. As labeled packets move across the network, each router uses the labels to choose the destination, and CoS, of the packet. Rather than looking up the destination address for each packet in a routing table, as the packet leaves the core of the network, an edge router uses the destination address in the packet to direct it to its final destination. Subsequent packets in the data stream are quickly and automatically labeled.
Label switching routers (LSR's) build the path that a packet takes across the core of the network, e.g., a label switched path (LSP). Labels stored by each router define the path, which can follow specific routes or constraints. LSRs at the core of the network participate in routing topology exchanges and become true peers with the edge routers. The number of peers each edge router must communicate with is reduced to the immediately adjacent LSRs and routers if certain protocols, such as LDP are used.
Labels can be used to identify traffic that should receive special treatment to meet QoS requirements. By using sophisticated traffic management techniques for the LSP's defined by the LSR's, guaranteed service level agreements can be delivered in an IP network environment. A more complex aspect of MPLS involves the distribution and management of labels among MPLS routers, to ensure they agree on the meaning of various labels. Label Distribution Protocol (LDP) is specifically designed for this purpose, but it is not the only possibility.
Admission controls are not needed in large networks with excess bandwidth. But real-world networks are run much closer to their limits because of construction costs and/or usage growth. What is needed are methods and equipment to provide end-to-end quality of service (QoS) in real networks.